<?php

declare(strict_types=1);
/**
 * This file is part of Hyperf.
 *
 * @link     https://www.hyperf.io
 * @document https://hyperf.wiki
 * @contact  group@hyperf.io
 * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
 */
return [
    /*
    |--------------------------------------------------------------------------
    | Validation Language Lines
    |--------------------------------------------------------------------------
    |
    | The following language lines contain the default error messages used by
    | the validator class. Some of these rules have multiple versions such
    | as the size rules. Feel free to tweak each of these messages here.
    |
    */

    'accepted' => 'The :attribute must be accepted.',
    'active_url' => 'The :attribute is not a valid URL.',
    'after' => 'The :attribute must be a date after :date.',
    'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
    'alpha' => 'The :attribute may only contain letters.',
    'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
    'alpha_num' => 'The :attribute may only contain letters and numbers.',
    'array' => 'The :attribute must be an array.',
    'before' => 'The :attribute must be a date before :date.',
    'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
    'between' => [
        'numeric' => 'The :attribute must be between :min and :max.',
        'file' => 'The :attribute must be between :min and :max kilobytes.',
        'string' => 'The :attribute must be between :min and :max characters.',
        'array' => 'The :attribute must have between :min and :max items.',
    ],
    'boolean' => 'The :attribute field must be true or false.',
    'confirmed' => 'The :attribute confirmation does not match.',
    'date' => 'The :attribute is not a valid date.',
    'date_format' => 'The :attribute does not match the format :format.',
    'different' => 'The :attribute and :other must be different.',
    'digits' => 'The :attribute must be :digits digits.',
    'digits_between' => 'The :attribute must be between :min and :max digits.',
    'dimensions' => 'The :attribute has invalid image dimensions.',
    'distinct' => 'The :attribute field has a duplicate value.',
    'email' => 'The :attribute must be a valid email address.',
    'exists' => 'The selected :attribute is invalid.',
    'file' => 'The :attribute must be a file.',
    'filled' => 'The :attribute field is required.',
    'gt' => [
        'numeric' => 'The :attribute must be greater than :value',
        'file' => 'The :attribute must be greater than :value kb',
        'string' => 'The :attribute must be greater than :value characters',
        'array' => 'The :attribute must be greater than :value items',
    ],
    'gte' => [
        'numeric' => 'The :attribute must be great than or equal to :value',
        'file' => 'The :attribute must be great than or equal to :value kb',
        'string' => 'The :attribute must be great than or equal to :value characters',
        'array' => 'The :attribute must be great than or equal to :value items',
    ],
    'image' => 'The :attribute must be an image.',
    'in' => 'The selected :attribute is invalid.',
    'in_array' => 'The :attribute field does not exist in :other.',
    'integer' => 'The :attribute must be an integer.',
    'ip' => 'The :attribute must be a valid IP address.',
    'ipv4' => 'The :attribute must be a valid IPv4 address.',
    'ipv6' => 'The :attribute must be a valid IPv6 address.',
    'json' => 'The :attribute must be a valid JSON string.',
    'lt' => [
        'numeric' => 'The :attribute must be less than :value',
        'file' => 'The :attribute must be less than :value kb',
        'string' => 'The :attribute must be less than :value characters',
        'array' => 'The :attribute must be less than :value items',
    ],
    'lte' => [
        'numeric' => 'The :attribute must be less than or equal to :value',
        'file' => 'The :attribute must be less than or equal to :value kb',
        'string' => 'The :attribute must be less than or equal to :value characters',
        'array' => 'The :attribute must be less than or equal to :value items',
    ],
    'max' => [
        'numeric' => 'The :attribute may not be greater than :max.',
        'file' => 'The :attribute may not be greater than :max kilobytes.',
        'string' => 'The :attribute may not be greater than :max characters.',
        'array' => 'The :attribute may not have more than :max items.',
    ],
    'mimes' => 'The :attribute must be a file of type: :values.',
    'mimetypes' => 'The :attribute must be a file of type: :values.',
    'min' => [
        'numeric' => 'The :attribute must be at least :min.',
        'file' => 'The :attribute must be at least :min kilobytes.',
        'string' => 'The :attribute must be at least :min characters.',
        'array' => 'The :attribute must have at least :min items.',
    ],
    'not_in' => 'The selected :attribute is invalid.',
    'not_regex' => 'The :attribute cannot match a given regular rule.',
    'numeric' => 'The :attribute must be a number.',
    'present' => 'The :attribute field must be present.',
    'regex' => 'The :attribute format is invalid.',
    'required' => 'The :attribute field is required.',
    'required_if' => 'The :attribute field is required when :other is :value.',
    'required_unless' => 'The :attribute field is required unless :other is in :values.',
    'required_with' => 'The :attribute field is required when :values is present.',
    'required_with_all' => 'The :attribute field is required when :values is present.',
    'required_without' => 'The :attribute field is required when :values is not present.',
    'required_without_all' => 'The :attribute field is required when none of :values are present.',
    'same' => 'The :attribute and :other must match.',
    'size' => [
        'numeric' => 'The :attribute must be :size.',
        'file' => 'The :attribute must be :size kilobytes.',
        'string' => 'The :attribute must be :size characters.',
        'array' => 'The :attribute must contain :size items.',
    ],
    'starts_with' => 'The :attribute must be start with :values ',
    'string' => 'The :attribute must be a string.',
    'timezone' => 'The :attribute must be a valid zone.',
    'unique' => 'The :attribute has already been taken.',
    'uploaded' => 'The :attribute failed to upload.',
    'url' => 'The :attribute format is invalid.',
    'uuid' => 'The :attribute is invalid UUID.',
    'max_if' => [
        'numeric' => 'The :attribute may not be greater than :max when :other is :value.',
        'file' => 'The :attribute may not be greater than :max kilobytes when :other is :value.',
        'string' => 'The :attribute may not be greater than :max characters when :other is :value.',
        'array' => 'The :attribute may not have more than :max items when :other is :value.',
    ],
    'min_if' => [
        'numeric' => 'The :attribute must be at least :min when :other is :value.',
        'file' => 'The :attribute must be at least :min kilobytes when :other is :value.',
        'string' => 'The :attribute must be at least :min characters when :other is :value.',
        'array' => 'The :attribute must have at least :min items when :other is :value.',
    ],
    'between_if' => [
        'numeric' => 'The :attribute must be between :min and :max when :other is :value.',
        'file' => 'The :attribute must be between :min and :max kilobytes when :other is :value.',
        'string' => 'The :attribute must be between :min and :max characters when :other is :value.',
        'array' => 'The :attribute must have between :min and :max items when :other is :value.',
    ],
    /*
    |--------------------------------------------------------------------------
    | Custom Validation Language Lines
    |--------------------------------------------------------------------------
    |
    | Here you may specify custom validation messages for attributes using the
    | convention "attribute.rule" to name the lines. This makes it quick to
    | specify a specific custom language line for a given attribute rule.
    |
    */

    'custom' => [
        'attribute-name' => [
            'rule-name' => 'custom-message',
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Custom Validation Attributes
    |--------------------------------------------------------------------------
    |
    | The following language lines are used to swap attribute place-holders
    | with something more reader friendly such as E-Mail Address instead
    | of "email". This simply helps us make messages a little cleaner.
    |
    */

    'attributes' => [
        'images.*' => 'Image',
        'role.*' => 'Role',
        'ids.*' => 'Id',
        'permission.*' => 'Permission',
        'paths.*' => 'Path',
        'id' => 'ID',
        'fields.*.name' => 'Fields name',
        'fields.*.title' => 'Fields title',
        'fields.*.param' => 'Fields param',
        'fields.*.type' => 'Fields type',
        'system_group_id' => 'System group',
        'terminal' => 'Terminal',
        'point_x' => 'Latitude',
        'point_y' => 'Longitude',
        'item' => 'Item',
        'item.*.detail' => 'Item detail',
        'item.*.value' => 'Item value',
        'attrs' => 'Attrs',
        'attrs.*.price' => 'Attr price',
        'attrs.*.bar_code' => 'Attr barcode',
        'attrs.*.brokerage' => 'Attr brokerage',
        'attrs.*.cost_price' => 'Attr floor price',
        'attrs.*.coupon_id' => 'Attr coupon',
        'attrs.*.original_price' => 'Attr original amount',
        'attrs.*.image' => 'Attr image',
        'attrs.*.stock' => 'Attr stock',
        'attrs.*.vip_price' => 'Attr membership price',
        'attrs.*.volume' => 'Attr volume',
        'attrs.*.weight' => 'Attr weight',
        'is_hot' => 'Best Sellers',
        'is_benefit' => 'Promotion',
        'is_best' => 'Boutique',
        'is_new' => 'New product',
        'is_good' => 'Superior products',
        'label_id' => 'Label',
        'label_id.*' => 'Label',
        'is_vip' => 'Exclusive to paid members',
        'value' => 'Value',
        'value.*.value' => 'Value',
        'value.*.detail' => 'Detail',
        'value.*.detail.*' => 'Detail',
        'campus_id' => 'Campus',
        'is_show' => 'Display or not',
        'area_id' => 'Area',
        'account' => 'account',
        'password_origin' => 'Original password',
        'password_confirmation' => 'Confirm Password',
        'problems' => 'issues list',
        'problems.*.problem_id' => 'problem',
        'problems.*.value' => 'answer',
        'image' => 'Image',
        'merchant_no' => 'Merchant tracking number',
        'refund_no' => 'Refund note number',
        'consignee' => 'Recipient',
        'paid_amount' => 'Payment amount',
        'postage_amount' => 'Postage',
        'discount_amount' => 'Discount amount',
        'user_note' => 'User comments',
        'goods' => 'Commodity',
        'goods.*.product_id' => 'Product identification',
        'goods.*.paid_price' => 'Payment amount for goods',
        'goods.*.num' => 'Product quantity',
        'goods.*.discount_amount' => 'Product discount amount',
        'goods.*.snapshot' => 'Product snapshot',
        'goods.*.product_link' => 'Product Details Link',
        'delivers' => 'Shipping Details',
        'delivers.*.shipping_code' => 'Express Company Code',
        'delivers.*.no' => 'Odd numbers',
        'delivers.*.logistics_no' => 'Tracking number',
        'logistics_code' => 'Express Company Code',
        'logistics_no' => 'Tracking number',
        'time_expire' => 'Order End Time'
    ],
    'phone_number' => 'The :attribute must be a valid phone number',
    'telephone_number' => 'The :attribute must be a valid telephone number',

    'chinese_word' => 'The :attribute must contain valid characters(chinese/english character, number, underscore)',
    'sequential_array' => 'The :attribute must be sequential array',

    'mobile' => 'The :attribute is not a valid mobile number',
    'path' => 'The :attribute is not a valid path',
    'icon' => 'The :attribute is not a valid icon',
    'app' => 'The :attribute is not in range',
    'zip_code' => 'The :attribute is not a valid zip code',
    'business_no' => 'The :attribute is not a valid business no',
    'bank_no' => 'The :attribute is not a valid bank no',
    'duty_paragraph' => 'The :attribute is not a valid duty paragraph',
    'orgnization_code' => 'The :attribute is not a valid orgnization code',
    'tax_no' => 'The :attribute is not a valid tax no',
    'id_card' => 'The :attribute is not a valid ID card no',
    'id' => 'The :attribute is not a valid characteristic',
    'ids' => 'The :attribute contains incorrect identification',
    'account' => 'Incorrect :attribute format',
    'time' => 'The :attribute is not a valid time.',
    'domain' => 'The :attribute is not a valid domain.',
];
